package com.dfrz.problem.service;

import java.util.List;

import com.dfrz.problem.model.Employee;
import com.dfrz.problem.utils.Result;

public interface EmployeeService {
	
	/**
	 * 修改员工信息
	 * @return
	 */
	public Result<Employee> updateEmployee(Employee employee);

	/**
	 * 验证输入的密码是否正确
	 * @param password
	 * @param employeeEmail
	 * @return
	 */
	public boolean checkPwd(String password, String email);

	/**
	 * 修改密码
	 * @param email
	 * @param password
	 */
	public boolean updatePwd(String email, String password);
	
	/**
	 * 根据邮箱账户获取employee
	 * @param email
	 * @return
	 */
	public Result<Employee> getEmployee(String email);

	/**
	 * 根据问题id获取employee
	 * @param problemId
	 * @return
	 */
	public Result<Employee> getEmployeeOnProblemId(Integer problemId,Integer roleId);

	/**
	 * 根据项目id获取员工列表
	 * @param projectId
	 * @return
	 */
	public Result<List<Employee>> getListEmployee(Integer projectId);

	/**
	 * 获取未分配的员工
	 * @return
	 */
	public Result<List<Employee>> getNotAssign();

	/**
	 * 根据员工id获取员工信息
	 * @param selectTest
	 * @return
	 */
	public Result<Employee> getEmployee(Integer employeeId);
	
	/**
	 * 获取全部员工列表
	 * @return
	 */
	public Result<List<Employee>> getEmployees();

	/**
	 * 获取所有员工信息
	 * @return
	 */
	public Result<List<Employee>> getAllEmployee();
	
	/**
	 * 更新员工所在项目
	 * @param employee
	 */
	public void updateEmployeeProject(Employee employee);
}
